package dao

import (
	"go_web_todo/models"
)

//创建一条备忘录
func CreateTask(task *models.Task) error {
	return DB.Create(&task).Error
}

//查询用户id查询任务列表：展示用户所有的备忘录，分页获取
func GetTasksByUid(tasks *[]models.Task, limit int, start int, uid uint, total *int64) error {
	return DB.Model(&models.Task{}).Preload("todo_user").Where("uid=?", uid).Count(total).
		Limit(limit).Offset((start - 1) * limit).Find(&tasks).Error
}

//详细展示一条备忘录
func GetTaskDetailById(task *models.Task, id string) error {
	return DB.Model(&models.Task{}).Where("id=?", id).Find(&task).Error
}

//用户更改备忘录信息
func UpdateTask(task *models.Task) error {
	return DB.Save(&task).Error
}

//搜索备忘录
func SearchTaskByTitleOrContent(info string, tasks *[]models.Task) error {
	return DB.Model(&models.Task{}).Where("title LIKE ? OR content Like ?",
		"%"+info+"%", "%"+info+"%").Find(&tasks).Error
}

//删除备忘录
func DeleteTaskById(id string) error {
	return DB.Where("id=?", id).Delete(&models.Task{}).Error
}

func GetTaskByUid(uid uint, tasks *[]models.Task) error {
	return DB.Where("uid=?", uid).Preload("todo_user").First(&tasks).Error
}
